package com.lance.shiro.entity;

import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import java.sql.Date;
import java.util.List;

@Table(name = "i_property_list")
public class IPropertyList {
    @Column(name = "id",type = MySqlTypeConstant.INT,length = 11,isKey = true,isAutoIncrement = true)
    private int id;
    @Column(name = "name",type = MySqlTypeConstant.VARCHAR,length = 200)
    private String name;
    @Column(name = "buildingAddress",type = MySqlTypeConstant.VARCHAR,length = 200)
    private String buildingAddress;
    @Column(name = "city",type = MySqlTypeConstant.VARCHAR,length = 80)
    private String city;
    @Column(name = "state",type = MySqlTypeConstant.VARCHAR,length = 80)
    private String state;
    @Column(name = "suburb",type = MySqlTypeConstant.VARCHAR,length = 80)
    private String suburb;
    @Column(name = "country",type = MySqlTypeConstant.VARCHAR,length = 80)
    private String country;
    @Column(name = "x",type = MySqlTypeConstant.VARCHAR,length = 20)
    private double x;
    @Column(name = "y",type = MySqlTypeConstant.VARCHAR,length = 20)
    private double y;
    @Column(name = "priceRange", type = MySqlTypeConstant.VARCHAR,length = 20)
    private String priceRange;
    @Column(name = "buildingOverview",type = MySqlTypeConstant.TEXT)
    private String buildingOverview;
    @Column(name = "featureId",type = MySqlTypeConstant.INT)
    private int featureId;
    private IFeature feature;
    @Column(name = "features",type = MySqlTypeConstant.TEXT)
    private String features;
    @Column(name = "isFeatured",type = MySqlTypeConstant.INT)
    private boolean isFeatured;
    @Column(name = "type",type = MySqlTypeConstant.VARCHAR,length = 20)
    private String type;
    @Column(name = "date",type = MySqlTypeConstant.DATETIME,length = 80)
    private Date date;
    @Column(name = "status",type = MySqlTypeConstant.VARCHAR,length = 20,defaultValue = "active")
    private String status;
    @Column(name = "settlementDate",type = MySqlTypeConstant.DATETIME,length = 80)
    private Date settlementDate;
    @Column(name = "createTime",type = MySqlTypeConstant.DATETIME,length = 80)
    private Date createTime;
    @Column(name = "updateTime",type = MySqlTypeConstant.DATETIME,length = 80)
    private Date updateTime;

    public List lotTypeList;

    @Column(name = "developer",type = MySqlTypeConstant.VARCHAR,length = 80)
    private String developer;
    @Column(name = "keyContact",type = MySqlTypeConstant.VARCHAR,length = 80,defaultValue = "info@ipanproperty.com")
    private String keyContact;
    @Column(name = "buyerIncentive",type = MySqlTypeConstant.VARCHAR,length = 80)
    private String buyerIncentive;

    private Integer[] featureIds;
    private List<IFeature> iFeatures;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBuildingAddress() {
        return buildingAddress;
    }

    public void setBuildingAddress(String buildingAddress) {
        this.buildingAddress = buildingAddress;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }

    public String getPriceRange() {
        return priceRange;
    }

    public void setPriceRange(String priceRange) {
        this.priceRange = priceRange;
    }

    public String getBuildingOverview() {
        return buildingOverview;
    }

    public void setBuildingOverview(String buildingOverview) {
        this.buildingOverview = buildingOverview;
    }

    public String getFeatures() {
        return features;
    }

    public void setFeatures(String features) {
        this.features = features;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List getLotTypeList() {
        return lotTypeList;
    }

    public void setLotTypeList(List lotTypeList) {
        this.lotTypeList = lotTypeList;
    }

    public Date getSettlementDate() {
        return settlementDate;
    }

    public void setSettlementDate(Date settlementDate) {
        this.settlementDate = settlementDate;
    }

    public boolean getIsFeatured() {
        return isFeatured;
    }

    public void setIsFeatured(boolean isFeatured) {
        this.isFeatured = isFeatured;
    }

    public String getSuburb() {
        return suburb;
    }

    public void setSuburb(String suburb) {
        this.suburb = suburb;
    }

    public int getFeatureId() {
        return featureId;
    }

    public void setFeatureId(int featureId) {
        this.featureId = featureId;
    }

    public IFeature getFeature() {

        return feature;
    }

    public void setFeature(IFeature feature) {
        this.feature = feature;
    }

    public boolean isFeatured() {
        return isFeatured;
    }

    public void setFeatured(boolean featured) {
        isFeatured = featured;
    }

    public String getDeveloper() {
        return developer;
    }

    public void setDeveloper(String developer) {
        this.developer = developer;
    }

    public String getKeyContact() {
        return keyContact;
    }

    public void setKeyContact(String keyContact) {
        this.keyContact = keyContact;
    }

    public String getBuyerIncentive() {
        return buyerIncentive;
    }

    public void setBuyerIncentive(String buyerIncentive) {
        this.buyerIncentive = buyerIncentive;
    }

    public Integer[] getFeatureIds() {
        return featureIds;
    }

    public void setFeatureIds(Integer[] featureIds) {
        this.featureIds = featureIds;
    }

    public List<IFeature> getiFeatures() {
        return iFeatures;
    }

    public void setiFeatures(List<IFeature> iFeatures) {
        this.iFeatures = iFeatures;
    }

    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }

}
